package com.chenqi.tool.ext

import java.math.BigDecimal
import java.text.NumberFormat
import kotlin.math.floor

/**
 * 作者: CQ
 * 日期: 2022-06-10
 * 说明:
 */

// 默认显示两位小数
fun Double.retain2(scale : Int = 2) : Double {
    return BigDecimal(this).setScale(scale, BigDecimal.ROUND_HALF_UP).toDouble()
}


/**
 * 显示数量
 */
fun Double.getShowSL() : String {
    return toInt().toString()
}

/**
 * 显示价格（整数的就只显示整数）
 */
fun Double.getShowJE() : String {
    val numberFormat = NumberFormat.getNumberInstance()
    numberFormat.isGroupingUsed = false
    return numberFormat.format(retain2())
}

/**
 * 取余
 */
fun Double.getSurplus() : Double {
    val longPart = this.toLong()
    return BigDecimal(toString()).subtract(BigDecimal(longPart)).toDouble()
}

/**
 * 取整
 */
fun Double.getRounding() : Double {
    return floor(this)
}
